Generating Functionally Equivalent Programs Having Non-isomorphic Control-Flow Graphs
نویسندگان
چکیده
One of the big challenges in program obfuscation consists in modifying not only the program’s straight-line code (SLC) but also the program’s control flow graph (CFG). Indeed, if only SLC is modified, the program’s CFG can be extracted and analyzed. Usually, the CFG leaks a considerable amount of information on the program’s structure. In this work we propose a method allowing to re-write a code P into a functionally equivalent code P ′ such that CFG(P ) and CFG(P ′) are radically different.
منابع مشابه
Generation and properties of snarks
For many of the unsolved problems concerning cycles and matchings in graphs it is known that it is su cient to prove them for snarks, the class of nontrivial 3-regular graphs which cannot be 3-edge coloured. In the rst part of this paper we present a new algorithm for generating all non-isomorphic snarks of a given order. Our implementation of the new algorithm is 14 times faster than previous ...
متن کاملRelaxations of Graph Isomorphism
We introduce a nonlocal game that captures and extends the notion of graph isomorphism. This game can be won in the classical case if and only if the two input graphs are isomorphic. Thus, by considering quantum strategies we are able to define the notion of quantum isomorphism. We also consider the case of more general non-signalling strategies, and show that such a strategy exists if and only...
متن کاملThe Multi-Procedure Equivalence Theorem
This paper concerns the question of whether program dependence graphs are “adequate” as a program representation. Previous results on the adequacy of program dependence graphs have been limited to a language without procedures and procedure calls. Our main result is a theorem that extends previous results to a language with procedures and procedure calls. The theorem shows that if the program d...
متن کاملSemantical Equivalence of the Control Flow Graph and the Program Dependence Graph
The program dependence graph (PDG) represents data and control dependence between statements in a program. This paper presents an operational semantics of program dependence graphs. Since PDGs exclude artificial order of statements that resides in sequential programs, executions of PDGs are not unique. However, we identified a class of PDGs that have unique final states of executions, called de...
متن کاملStatic Scheduling and Code Generation from Dynamic Dataflow Graphs With Integer - Valued Control Streams
This paper extends the token flow model of Buck and Lee ([1],[2]), an analytical model for the behavior of dataflow graphs with data-dependent control flow, in two ways: dataflow actor execution may depend on integer, rather than Boolean, control tokens, and multiphase implementations of actors are permitted. These extensions permit data-dependent iteration to be modelled more naturally, reduce...
متن کامل